package com.iwhalecloud.bss.kite.cucc.service.attr.handler;

import com.iwhalecloud.bss.kite.common.util.KiteStringUtils;
import com.iwhalecloud.bss.kite.cucc.common.util.StrTools;
import com.iwhalecloud.bss.kite.cucc.service.util.ProdCateUtil;
import com.iwhalecloud.bss.kite.manager.inst.KiteAttr;
import com.iwhalecloud.bss.kite.manager.inst.KiteInst;
import com.iwhalecloud.bss.kite.service.attr.AttrData;
import com.iwhalecloud.bss.kite.service.attr.handler.AbstractAttrHandler;
import com.ztesoft.bss.common.exception.BssException;

/**
 *URL校验:
 * 协议://url地址; 比如：“https://www.baidu.com”（协议为http、https) 七层http的地址都必须以“/*”结尾，https必须不带“/*”结尾。
 */
public class URLAttrHandler extends AbstractAttrHandler<KiteInst, AttrData> {

    @Override
    public void before(KiteAttr attr, KiteInst inst, String value, AttrData data) {
        if(!KiteStringUtils.isEmpty(value)){
            // 通用连接产品：URL地址格式校验均取消
            if (KiteStringUtils.equalsAny(inst.getSpecId(), ProdCateUtil.getMainMemberProdIdForArr(ProdCateUtil.TY5G_PROD, ProdCateUtil.TYNB_PROD, ProdCateUtil.TYCAT1_PROD, ProdCateUtil.TY4G_PROD))) {
                return;
            }
            boolean check = StrTools.IsUrl(value);
            if(!check){
                BssException.throwOut("URL校验","URL校验不通过，请检查","当前输入的URL为【"+value+"】,校验不通过，请检查");
            }
        }
    }
}
